1. Technical Field
The present invention is directed to data processing systems and particularly to communications systems. More specifically, the present invention is directed to a method, apparatus, and computer program product for identifying different types of errors that occur in a communications device under test (DUT) where only the presence of an error is indicated by an error checker.
2. Description of Related Art
The ongoing development of communication circuits and channels for the synchronous transport module (STM), the 10 Gigabit Ethernet (IEEE 802.3ae) application, and several other applications require the use of data generators and checkers to test communication circuits and/or channels. The data generated by the data generator that is used to test a device can be a Pseudo Random Bit Stream (PRBS) or can adhere to another format as dictated by another standard.
These checkers are error detection circuits that indicate only the presence of an error but do not provide any information regarding the type of error that occurred. These checkers output an error signal. When a checker detects an error, it merely indicates the occurrence, or presence, of an error by outputting a pulse (or error bit) in the error signal each time an error occurs. For a given clock cycle, the presence of an error bit in the error signal indicates that an error occurred in the device under test.
The error bit is generated by a checker. The error bit represents a mismatch between the input to the device under test and the output the checker expected to receive from the device. Thus, these checkers indicate the occurrence of an error but provide no other information about the error. For example, these checkers do not identify whether the error was an isolated event, a burst event, or a long term or severe event.
A typical PRBS checker includes a synchronization detector, a local PRBS generator, and a comparator circuit. The synchronization detector looks for a known pattern in the incoming stream. Once the detector detects the known pattern, the detector turns on the local PRBS generator. The local generator and the generator at the input of DUT are designed to be identical. After synchronization is achieved, the two generators are expected to produce identical bit streams. The comparator circuit detects any mismatches caused due to the DUT. The PRBS checker generates an error signal. When a mismatch occurs, the PRBS checker includes a pulse in the error signal to indicate that an error occurred. As is obvious from this description, the error signal provides no information about the type of error. The error signal indicates only the occurrence of an error.
Although error counters and error rate measurement circuits are available, they do not help in identifying the type of error that occurred. These counters and circuits indicate merely the presence of an error, i.e. an indication that some type of error occurred, and not what type of error it was. Error type information is very useful in finding out the source of error. For example, in a communication receiver which uses a clock data recovery phase locked loop (PLL), a long term error is caused when the PLL falls out of synchronization. With a conventional error counter in a system where the PLL falls out of synchronization, the error counter will indicate only a very high error count. However, nothing in the error counter or the output of the error counter will indicate which type of error caused the high error count.
Another example is a communication receiver which uses a decision feedback equalizer (DFE). The DFE circuit by design converts single bit errors into burst errors. Again, in this case, the conventional error counter only indicates a high error count. The conventional error counter does not indicate whether the high error count is due to a long term error or multiple bursts of errors. Nothing in the error counter or output of the error counter will indicate which type of error caused the high error count.
Therefore, a need exists for a method, system, and computer program product for identifying types of errors that occur in a communications device under test and where only the presence of an error is indicated by an error checker.